package com.zust513.service;

import com.zust513.dto.ExpenseDTO;
import com.zust513.dto.IncomeDTO;

import java.math.BigDecimal;
import java.util.List;

/**
 * 财务服务接口
 */
public interface FinanceService {

    /**
     * 获取所有收入记录
     * @return 收入记录列表
     */
    List<IncomeDTO> getAllIncomeRecords();

    /**
     * 获取总收入金额
     * @return 总收入金额
     */
    BigDecimal getTotalIncome();

    /**
     * 获取所有配送员支出记录
     * @return 支出记录列表
     */
    List<ExpenseDTO> getAllCourierExpenses();

    /**
     * 获取特定配送员的支出记录
     * @param courierId 配送员ID
     * @return 支出记录列表
     */
    List<ExpenseDTO> getCourierExpensesByCourierId(Integer courierId);

    /**
     * 获取总支出金额
     * @return 总支出金额
     */
    BigDecimal getTotalExpense();
}
